package l1j.opqlo.Server.etcitem;

import l1j.server.Config;
import l1j.server.server.model.Instance.L1ItemInstance;
import l1j.server.server.model.Instance.L1PcInstance;
import l1j.server.server.serverpackets.S_OwnCharStatus2;
import l1j.server.server.serverpackets.S_SystemMessage;

public class ElixirStats {

	/** 萬能藥水相關 */

	public static void begin(final L1PcInstance pc,
			final L1ItemInstance l1iteminstance) throws Exception {

		final int itemId = l1iteminstance.getItemId();
		switch (itemId) {

		case 40033: // 力量
			if (pc.getBaseStr() < Config.BONUS_STATS3
					&& pc.getElixirStats() < Config.BONUS_STATS2) { // TODO
																	// 調整能力值上限
				pc.addBaseStr((byte) 1); // 素のSTR值に+1
			} else {
				pc.sendPackets(new S_SystemMessage("萬能藥力量已達到上限請選擇其他能力值。"));
				return;
			}
			break;

		case 40034: // 體質
			if (pc.getBaseCon() < Config.BONUS_STATS3
					&& pc.getElixirStats() < Config.BONUS_STATS2) { // TODO
																	// 調整能力值上限
				pc.addBaseCon((byte) 1); // 素CON值+1
			} else {
				pc.sendPackets(new S_SystemMessage("萬能藥體力已達到上限請選擇其他能力值。"));
				return;
			}
			break;

		case 40035: // 敏捷
			if (pc.getBaseDex() < Config.BONUS_STATS3
					&& pc.getElixirStats() < Config.BONUS_STATS2) { // TODO
																	// 調整能力值上限
				pc.addBaseDex((byte) 1); // 素DEX值+1
				pc.resetBaseAc();
			} else {
				pc.sendPackets(new S_SystemMessage("萬能藥敏捷已達到上限請選擇其他能力值。"));
				return;
			}
			break;

		case 40036: // 智慧
			if (pc.getBaseInt() < Config.BONUS_STATS3
					&& pc.getElixirStats() < Config.BONUS_STATS2) { // TODO
																	// 調整能力值上限
				pc.addBaseInt((byte) 1); // 素INT值+1
			} else {
				pc.sendPackets(new S_SystemMessage("萬能藥智慧已達到上限請選擇其他能力值。"));
				return;
			}
			break;

		case 40037: // 精神
			if (pc.getBaseWis() < Config.BONUS_STATS3
					&& pc.getElixirStats() < Config.BONUS_STATS2) { // TODO
																	// 調整能力值上限
				pc.addBaseWis((byte) 1); // 素WIS值+1
				pc.resetBaseMr();
			} else {
				pc.sendPackets(new S_SystemMessage("萬能藥精神已達到上限請選擇其他能力值。"));
				return;
			}
			break;

		case 40038: // 魅力
			if (pc.getBaseCha() < Config.BONUS_STATS3
					&& pc.getElixirStats() < Config.BONUS_STATS2) { // TODO
																	// 調整能力值上限
				pc.addBaseCha((byte) 1); // 素CHA值+1
			} else {
				pc.sendPackets(new S_SystemMessage("萬能藥魅力已達到上限請選擇其他能力值。"));
				return;
			}
			break;
		}

		pc.setElixirStats(pc.getElixirStats() + 1);
		pc.getInventory().removeItem(l1iteminstance, 1);
		pc.sendPackets(new S_OwnCharStatus2(pc));
		pc.save();// DBにキャラクター情報を書き迂む
	}
}
